#pragma once

#include <set>

/*
Utility class for storing a set of frequencies
*/
class Scale
{
public:
	Scale(void);
	~Scale(void);

	std::set<unsigned int> scale;

	/*
	Populates this Scale with chromatic frequencies between 110 and 220 Hz.
	*/
	void SetChromatic();

	/*
	Populates this Scale with A-minor notes between 82 and 331 Hz.
	*/
	void SetAMinor();

	/*
	Populates this Scale with the contents of the specified array
	*/
	void SetScale(unsigned int array[], unsigned int length);

	/*
	Returns the frequency in this Scale, that is closest to the specified frequency.
	*/
	unsigned int GetNearest(unsigned int frequency);
};
